﻿using EYangFramewirk.Business.MessageSystem.Interfaces;
using EYangFramework.Domain.Entitys.Entrys;
using EYangFramework.Domain.Repositorys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EYangFramewirk.Business.MessageSystem.Implementation
{
    public class BLLEditMessageModel : IBLLEditMessageModel
    {
        IRepository<MessageModel> RepositoryMessageModel { get; set; }
        public BLLEditMessageModel(IRepository<MessageModel> repositoryMessageModel)
        {
            RepositoryMessageModel = repositoryMessageModel;
        }
        public bool DeleteMessageModel(Guid id)
        {
            RepositoryMessageModel.Delete(id);
            return true;
        }

        public void Dispose()
        {
            RepositoryMessageModel.DbContext.Dispose();
        }

        public List<MessageModel> GetAllMessageModel(string user)
        {
            var userid = user.ToString();
            return RepositoryMessageModel.GetAllListNoTracking(t => t.User == userid);
        }

        public bool InsrtMessageModel(MessageModel messageModel)
        {
            RepositoryMessageModel.Insert(messageModel);
            return true;
        }

        public bool UpdateMessageModel(MessageModel messageModel)
        {
            RepositoryMessageModel.Update(messageModel);
            return true;
        }

        public MessageModel GetMessage(Guid messageId)
        {
            return RepositoryMessageModel.FirstOrDefault(messageId);
        }
    }
}
